package znet

import "github.com/ShiYY/zinx/ziface"

// 实现router时, 先嵌入这个BaseRouter基类, 然后根据需要对这个基类的方法进行重写就好了
type BaseRouter struct {
	// BaseRouter仅仅是实现IRouter(空方法) 因为并不知道Handler里具体处理什么业务
	// 具体业务只需要继承BaseRouter即可 重写对应的方法
}

/*
	这里之所以BaseRouter的方法都为空
	是因为所有的Router不希望有PreHandler/PostHandler这两个业务
	所以Router全部继承BaseRouter的好处就是, 不需要实现PreHandler/PostHandler
 */

// 在处理业务之前的钩子方法Hook
func (br *BaseRouter) PreHandler(request ziface.IRequest) {
}

// 在处理conn业务的主方法hook
func (br *BaseRouter) Handle(request ziface.IRequest) {
}

// 在处理conn业务之后的钩子方法Hook
func (br *BaseRouter) PostHandler(request ziface.IRequest) {
}
